package com.fh.model.loan;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CallLoanInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CallLoanInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCallLoanNidIsNull() {
            addCriterion("call_loan_nid is null");
            return (Criteria) this;
        }

        public Criteria andCallLoanNidIsNotNull() {
            addCriterion("call_loan_nid is not null");
            return (Criteria) this;
        }

        public Criteria andCallLoanNidEqualTo(String value) {
            addCriterion("call_loan_nid =", value, "callLoanNid");
            return (Criteria) this;
        }

        public Criteria andCallLoanNidNotEqualTo(String value) {
            addCriterion("call_loan_nid <>", value, "callLoanNid");
            return (Criteria) this;
        }

        public Criteria andCallLoanNidGreaterThan(String value) {
            addCriterion("call_loan_nid >", value, "callLoanNid");
            return (Criteria) this;
        }

        public Criteria andCallLoanNidGreaterThanOrEqualTo(String value) {
            addCriterion("call_loan_nid >=", value, "callLoanNid");
            return (Criteria) this;
        }

        public Criteria andCallLoanNidLessThan(String value) {
            addCriterion("call_loan_nid <", value, "callLoanNid");
            return (Criteria) this;
        }

        public Criteria andCallLoanNidLessThanOrEqualTo(String value) {
            addCriterion("call_loan_nid <=", value, "callLoanNid");
            return (Criteria) this;
        }

        public Criteria andCallLoanNidLike(String value) {
            addCriterion("call_loan_nid like", value, "callLoanNid");
            return (Criteria) this;
        }

        public Criteria andCallLoanNidNotLike(String value) {
            addCriterion("call_loan_nid not like", value, "callLoanNid");
            return (Criteria) this;
        }

        public Criteria andCallLoanNidIn(List<String> values) {
            addCriterion("call_loan_nid in", values, "callLoanNid");
            return (Criteria) this;
        }

        public Criteria andCallLoanNidNotIn(List<String> values) {
            addCriterion("call_loan_nid not in", values, "callLoanNid");
            return (Criteria) this;
        }

        public Criteria andCallLoanNidBetween(String value1, String value2) {
            addCriterion("call_loan_nid between", value1, value2, "callLoanNid");
            return (Criteria) this;
        }

        public Criteria andCallLoanNidNotBetween(String value1, String value2) {
            addCriterion("call_loan_nid not between", value1, value2, "callLoanNid");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Integer value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Integer value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Integer value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Integer value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Integer> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Integer> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Integer value1, Integer value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andRealNameIsNull() {
            addCriterion("real_name is null");
            return (Criteria) this;
        }

        public Criteria andRealNameIsNotNull() {
            addCriterion("real_name is not null");
            return (Criteria) this;
        }

        public Criteria andRealNameEqualTo(String value) {
            addCriterion("real_name =", value, "realName");
            return (Criteria) this;
        }

        public Criteria andRealNameNotEqualTo(String value) {
            addCriterion("real_name <>", value, "realName");
            return (Criteria) this;
        }

        public Criteria andRealNameGreaterThan(String value) {
            addCriterion("real_name >", value, "realName");
            return (Criteria) this;
        }

        public Criteria andRealNameGreaterThanOrEqualTo(String value) {
            addCriterion("real_name >=", value, "realName");
            return (Criteria) this;
        }

        public Criteria andRealNameLessThan(String value) {
            addCriterion("real_name <", value, "realName");
            return (Criteria) this;
        }

        public Criteria andRealNameLessThanOrEqualTo(String value) {
            addCriterion("real_name <=", value, "realName");
            return (Criteria) this;
        }

        public Criteria andRealNameLike(String value) {
            addCriterion("real_name like", value, "realName");
            return (Criteria) this;
        }

        public Criteria andRealNameNotLike(String value) {
            addCriterion("real_name not like", value, "realName");
            return (Criteria) this;
        }

        public Criteria andRealNameIn(List<String> values) {
            addCriterion("real_name in", values, "realName");
            return (Criteria) this;
        }

        public Criteria andRealNameNotIn(List<String> values) {
            addCriterion("real_name not in", values, "realName");
            return (Criteria) this;
        }

        public Criteria andRealNameBetween(String value1, String value2) {
            addCriterion("real_name between", value1, value2, "realName");
            return (Criteria) this;
        }

        public Criteria andRealNameNotBetween(String value1, String value2) {
            addCriterion("real_name not between", value1, value2, "realName");
            return (Criteria) this;
        }

        public Criteria andContIdCardIsNull() {
            addCriterion("cont_id_card is null");
            return (Criteria) this;
        }

        public Criteria andContIdCardIsNotNull() {
            addCriterion("cont_id_card is not null");
            return (Criteria) this;
        }

        public Criteria andContIdCardEqualTo(String value) {
            addCriterion("cont_id_card =", value, "contIdCard");
            return (Criteria) this;
        }

        public Criteria andContIdCardNotEqualTo(String value) {
            addCriterion("cont_id_card <>", value, "contIdCard");
            return (Criteria) this;
        }

        public Criteria andContIdCardGreaterThan(String value) {
            addCriterion("cont_id_card >", value, "contIdCard");
            return (Criteria) this;
        }

        public Criteria andContIdCardGreaterThanOrEqualTo(String value) {
            addCriterion("cont_id_card >=", value, "contIdCard");
            return (Criteria) this;
        }

        public Criteria andContIdCardLessThan(String value) {
            addCriterion("cont_id_card <", value, "contIdCard");
            return (Criteria) this;
        }

        public Criteria andContIdCardLessThanOrEqualTo(String value) {
            addCriterion("cont_id_card <=", value, "contIdCard");
            return (Criteria) this;
        }

        public Criteria andContIdCardLike(String value) {
            addCriterion("cont_id_card like", value, "contIdCard");
            return (Criteria) this;
        }

        public Criteria andContIdCardNotLike(String value) {
            addCriterion("cont_id_card not like", value, "contIdCard");
            return (Criteria) this;
        }

        public Criteria andContIdCardIn(List<String> values) {
            addCriterion("cont_id_card in", values, "contIdCard");
            return (Criteria) this;
        }

        public Criteria andContIdCardNotIn(List<String> values) {
            addCriterion("cont_id_card not in", values, "contIdCard");
            return (Criteria) this;
        }

        public Criteria andContIdCardBetween(String value1, String value2) {
            addCriterion("cont_id_card between", value1, value2, "contIdCard");
            return (Criteria) this;
        }

        public Criteria andContIdCardNotBetween(String value1, String value2) {
            addCriterion("cont_id_card not between", value1, value2, "contIdCard");
            return (Criteria) this;
        }

        public Criteria andProductNameIsNull() {
            addCriterion("product_name is null");
            return (Criteria) this;
        }

        public Criteria andProductNameIsNotNull() {
            addCriterion("product_name is not null");
            return (Criteria) this;
        }

        public Criteria andProductNameEqualTo(String value) {
            addCriterion("product_name =", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotEqualTo(String value) {
            addCriterion("product_name <>", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameGreaterThan(String value) {
            addCriterion("product_name >", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameGreaterThanOrEqualTo(String value) {
            addCriterion("product_name >=", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLessThan(String value) {
            addCriterion("product_name <", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLessThanOrEqualTo(String value) {
            addCriterion("product_name <=", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLike(String value) {
            addCriterion("product_name like", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotLike(String value) {
            addCriterion("product_name not like", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameIn(List<String> values) {
            addCriterion("product_name in", values, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotIn(List<String> values) {
            addCriterion("product_name not in", values, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameBetween(String value1, String value2) {
            addCriterion("product_name between", value1, value2, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotBetween(String value1, String value2) {
            addCriterion("product_name not between", value1, value2, "productName");
            return (Criteria) this;
        }

        public Criteria andBorrowNidIsNull() {
            addCriterion("borrow_nid is null");
            return (Criteria) this;
        }

        public Criteria andBorrowNidIsNotNull() {
            addCriterion("borrow_nid is not null");
            return (Criteria) this;
        }

        public Criteria andBorrowNidEqualTo(String value) {
            addCriterion("borrow_nid =", value, "borrowNid");
            return (Criteria) this;
        }

        public Criteria andBorrowNidNotEqualTo(String value) {
            addCriterion("borrow_nid <>", value, "borrowNid");
            return (Criteria) this;
        }

        public Criteria andBorrowNidGreaterThan(String value) {
            addCriterion("borrow_nid >", value, "borrowNid");
            return (Criteria) this;
        }

        public Criteria andBorrowNidGreaterThanOrEqualTo(String value) {
            addCriterion("borrow_nid >=", value, "borrowNid");
            return (Criteria) this;
        }

        public Criteria andBorrowNidLessThan(String value) {
            addCriterion("borrow_nid <", value, "borrowNid");
            return (Criteria) this;
        }

        public Criteria andBorrowNidLessThanOrEqualTo(String value) {
            addCriterion("borrow_nid <=", value, "borrowNid");
            return (Criteria) this;
        }

        public Criteria andBorrowNidLike(String value) {
            addCriterion("borrow_nid like", value, "borrowNid");
            return (Criteria) this;
        }

        public Criteria andBorrowNidNotLike(String value) {
            addCriterion("borrow_nid not like", value, "borrowNid");
            return (Criteria) this;
        }

        public Criteria andBorrowNidIn(List<String> values) {
            addCriterion("borrow_nid in", values, "borrowNid");
            return (Criteria) this;
        }

        public Criteria andBorrowNidNotIn(List<String> values) {
            addCriterion("borrow_nid not in", values, "borrowNid");
            return (Criteria) this;
        }

        public Criteria andBorrowNidBetween(String value1, String value2) {
            addCriterion("borrow_nid between", value1, value2, "borrowNid");
            return (Criteria) this;
        }

        public Criteria andBorrowNidNotBetween(String value1, String value2) {
            addCriterion("borrow_nid not between", value1, value2, "borrowNid");
            return (Criteria) this;
        }

        public Criteria andBorrowNameIsNull() {
            addCriterion("borrow_name is null");
            return (Criteria) this;
        }

        public Criteria andBorrowNameIsNotNull() {
            addCriterion("borrow_name is not null");
            return (Criteria) this;
        }

        public Criteria andBorrowNameEqualTo(String value) {
            addCriterion("borrow_name =", value, "borrowName");
            return (Criteria) this;
        }

        public Criteria andBorrowNameNotEqualTo(String value) {
            addCriterion("borrow_name <>", value, "borrowName");
            return (Criteria) this;
        }

        public Criteria andBorrowNameGreaterThan(String value) {
            addCriterion("borrow_name >", value, "borrowName");
            return (Criteria) this;
        }

        public Criteria andBorrowNameGreaterThanOrEqualTo(String value) {
            addCriterion("borrow_name >=", value, "borrowName");
            return (Criteria) this;
        }

        public Criteria andBorrowNameLessThan(String value) {
            addCriterion("borrow_name <", value, "borrowName");
            return (Criteria) this;
        }

        public Criteria andBorrowNameLessThanOrEqualTo(String value) {
            addCriterion("borrow_name <=", value, "borrowName");
            return (Criteria) this;
        }

        public Criteria andBorrowNameLike(String value) {
            addCriterion("borrow_name like", value, "borrowName");
            return (Criteria) this;
        }

        public Criteria andBorrowNameNotLike(String value) {
            addCriterion("borrow_name not like", value, "borrowName");
            return (Criteria) this;
        }

        public Criteria andBorrowNameIn(List<String> values) {
            addCriterion("borrow_name in", values, "borrowName");
            return (Criteria) this;
        }

        public Criteria andBorrowNameNotIn(List<String> values) {
            addCriterion("borrow_name not in", values, "borrowName");
            return (Criteria) this;
        }

        public Criteria andBorrowNameBetween(String value1, String value2) {
            addCriterion("borrow_name between", value1, value2, "borrowName");
            return (Criteria) this;
        }

        public Criteria andBorrowNameNotBetween(String value1, String value2) {
            addCriterion("borrow_name not between", value1, value2, "borrowName");
            return (Criteria) this;
        }

        public Criteria andPeriodIsNull() {
            addCriterion("period is null");
            return (Criteria) this;
        }

        public Criteria andPeriodIsNotNull() {
            addCriterion("period is not null");
            return (Criteria) this;
        }

        public Criteria andPeriodEqualTo(Integer value) {
            addCriterion("period =", value, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodNotEqualTo(Integer value) {
            addCriterion("period <>", value, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodGreaterThan(Integer value) {
            addCriterion("period >", value, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodGreaterThanOrEqualTo(Integer value) {
            addCriterion("period >=", value, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodLessThan(Integer value) {
            addCriterion("period <", value, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodLessThanOrEqualTo(Integer value) {
            addCriterion("period <=", value, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodIn(List<Integer> values) {
            addCriterion("period in", values, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodNotIn(List<Integer> values) {
            addCriterion("period not in", values, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodBetween(Integer value1, Integer value2) {
            addCriterion("period between", value1, value2, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodNotBetween(Integer value1, Integer value2) {
            addCriterion("period not between", value1, value2, "period");
            return (Criteria) this;
        }

        public Criteria andPeriodTotalIsNull() {
            addCriterion("period_total is null");
            return (Criteria) this;
        }

        public Criteria andPeriodTotalIsNotNull() {
            addCriterion("period_total is not null");
            return (Criteria) this;
        }

        public Criteria andPeriodTotalEqualTo(Integer value) {
            addCriterion("period_total =", value, "periodTotal");
            return (Criteria) this;
        }

        public Criteria andPeriodTotalNotEqualTo(Integer value) {
            addCriterion("period_total <>", value, "periodTotal");
            return (Criteria) this;
        }

        public Criteria andPeriodTotalGreaterThan(Integer value) {
            addCriterion("period_total >", value, "periodTotal");
            return (Criteria) this;
        }

        public Criteria andPeriodTotalGreaterThanOrEqualTo(Integer value) {
            addCriterion("period_total >=", value, "periodTotal");
            return (Criteria) this;
        }

        public Criteria andPeriodTotalLessThan(Integer value) {
            addCriterion("period_total <", value, "periodTotal");
            return (Criteria) this;
        }

        public Criteria andPeriodTotalLessThanOrEqualTo(Integer value) {
            addCriterion("period_total <=", value, "periodTotal");
            return (Criteria) this;
        }

        public Criteria andPeriodTotalIn(List<Integer> values) {
            addCriterion("period_total in", values, "periodTotal");
            return (Criteria) this;
        }

        public Criteria andPeriodTotalNotIn(List<Integer> values) {
            addCriterion("period_total not in", values, "periodTotal");
            return (Criteria) this;
        }

        public Criteria andPeriodTotalBetween(Integer value1, Integer value2) {
            addCriterion("period_total between", value1, value2, "periodTotal");
            return (Criteria) this;
        }

        public Criteria andPeriodTotalNotBetween(Integer value1, Integer value2) {
            addCriterion("period_total not between", value1, value2, "periodTotal");
            return (Criteria) this;
        }

        public Criteria andOverdueAmountIsNull() {
            addCriterion("overdue_amount is null");
            return (Criteria) this;
        }

        public Criteria andOverdueAmountIsNotNull() {
            addCriterion("overdue_amount is not null");
            return (Criteria) this;
        }

        public Criteria andOverdueAmountEqualTo(BigDecimal value) {
            addCriterion("overdue_amount =", value, "overdueAmount");
            return (Criteria) this;
        }

        public Criteria andOverdueAmountNotEqualTo(BigDecimal value) {
            addCriterion("overdue_amount <>", value, "overdueAmount");
            return (Criteria) this;
        }

        public Criteria andOverdueAmountGreaterThan(BigDecimal value) {
            addCriterion("overdue_amount >", value, "overdueAmount");
            return (Criteria) this;
        }

        public Criteria andOverdueAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("overdue_amount >=", value, "overdueAmount");
            return (Criteria) this;
        }

        public Criteria andOverdueAmountLessThan(BigDecimal value) {
            addCriterion("overdue_amount <", value, "overdueAmount");
            return (Criteria) this;
        }

        public Criteria andOverdueAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("overdue_amount <=", value, "overdueAmount");
            return (Criteria) this;
        }

        public Criteria andOverdueAmountIn(List<BigDecimal> values) {
            addCriterion("overdue_amount in", values, "overdueAmount");
            return (Criteria) this;
        }

        public Criteria andOverdueAmountNotIn(List<BigDecimal> values) {
            addCriterion("overdue_amount not in", values, "overdueAmount");
            return (Criteria) this;
        }

        public Criteria andOverdueAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("overdue_amount between", value1, value2, "overdueAmount");
            return (Criteria) this;
        }

        public Criteria andOverdueAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("overdue_amount not between", value1, value2, "overdueAmount");
            return (Criteria) this;
        }

        public Criteria andOverdueInterestIsNull() {
            addCriterion("overdue_interest is null");
            return (Criteria) this;
        }

        public Criteria andOverdueInterestIsNotNull() {
            addCriterion("overdue_interest is not null");
            return (Criteria) this;
        }

        public Criteria andOverdueInterestEqualTo(BigDecimal value) {
            addCriterion("overdue_interest =", value, "overdueInterest");
            return (Criteria) this;
        }

        public Criteria andOverdueInterestNotEqualTo(BigDecimal value) {
            addCriterion("overdue_interest <>", value, "overdueInterest");
            return (Criteria) this;
        }

        public Criteria andOverdueInterestGreaterThan(BigDecimal value) {
            addCriterion("overdue_interest >", value, "overdueInterest");
            return (Criteria) this;
        }

        public Criteria andOverdueInterestGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("overdue_interest >=", value, "overdueInterest");
            return (Criteria) this;
        }

        public Criteria andOverdueInterestLessThan(BigDecimal value) {
            addCriterion("overdue_interest <", value, "overdueInterest");
            return (Criteria) this;
        }

        public Criteria andOverdueInterestLessThanOrEqualTo(BigDecimal value) {
            addCriterion("overdue_interest <=", value, "overdueInterest");
            return (Criteria) this;
        }

        public Criteria andOverdueInterestIn(List<BigDecimal> values) {
            addCriterion("overdue_interest in", values, "overdueInterest");
            return (Criteria) this;
        }

        public Criteria andOverdueInterestNotIn(List<BigDecimal> values) {
            addCriterion("overdue_interest not in", values, "overdueInterest");
            return (Criteria) this;
        }

        public Criteria andOverdueInterestBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("overdue_interest between", value1, value2, "overdueInterest");
            return (Criteria) this;
        }

        public Criteria andOverdueInterestNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("overdue_interest not between", value1, value2, "overdueInterest");
            return (Criteria) this;
        }

        public Criteria andOverdueCaptialIsNull() {
            addCriterion("overdue_captial is null");
            return (Criteria) this;
        }

        public Criteria andOverdueCaptialIsNotNull() {
            addCriterion("overdue_captial is not null");
            return (Criteria) this;
        }

        public Criteria andOverdueCaptialEqualTo(BigDecimal value) {
            addCriterion("overdue_captial =", value, "overdueCaptial");
            return (Criteria) this;
        }

        public Criteria andOverdueCaptialNotEqualTo(BigDecimal value) {
            addCriterion("overdue_captial <>", value, "overdueCaptial");
            return (Criteria) this;
        }

        public Criteria andOverdueCaptialGreaterThan(BigDecimal value) {
            addCriterion("overdue_captial >", value, "overdueCaptial");
            return (Criteria) this;
        }

        public Criteria andOverdueCaptialGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("overdue_captial >=", value, "overdueCaptial");
            return (Criteria) this;
        }

        public Criteria andOverdueCaptialLessThan(BigDecimal value) {
            addCriterion("overdue_captial <", value, "overdueCaptial");
            return (Criteria) this;
        }

        public Criteria andOverdueCaptialLessThanOrEqualTo(BigDecimal value) {
            addCriterion("overdue_captial <=", value, "overdueCaptial");
            return (Criteria) this;
        }

        public Criteria andOverdueCaptialIn(List<BigDecimal> values) {
            addCriterion("overdue_captial in", values, "overdueCaptial");
            return (Criteria) this;
        }

        public Criteria andOverdueCaptialNotIn(List<BigDecimal> values) {
            addCriterion("overdue_captial not in", values, "overdueCaptial");
            return (Criteria) this;
        }

        public Criteria andOverdueCaptialBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("overdue_captial between", value1, value2, "overdueCaptial");
            return (Criteria) this;
        }

        public Criteria andOverdueCaptialNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("overdue_captial not between", value1, value2, "overdueCaptial");
            return (Criteria) this;
        }

        public Criteria andOverdueSerFeeIsNull() {
            addCriterion("overdue_ser_fee is null");
            return (Criteria) this;
        }

        public Criteria andOverdueSerFeeIsNotNull() {
            addCriterion("overdue_ser_fee is not null");
            return (Criteria) this;
        }

        public Criteria andOverdueSerFeeEqualTo(BigDecimal value) {
            addCriterion("overdue_ser_fee =", value, "overdueSerFee");
            return (Criteria) this;
        }

        public Criteria andOverdueSerFeeNotEqualTo(BigDecimal value) {
            addCriterion("overdue_ser_fee <>", value, "overdueSerFee");
            return (Criteria) this;
        }

        public Criteria andOverdueSerFeeGreaterThan(BigDecimal value) {
            addCriterion("overdue_ser_fee >", value, "overdueSerFee");
            return (Criteria) this;
        }

        public Criteria andOverdueSerFeeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("overdue_ser_fee >=", value, "overdueSerFee");
            return (Criteria) this;
        }

        public Criteria andOverdueSerFeeLessThan(BigDecimal value) {
            addCriterion("overdue_ser_fee <", value, "overdueSerFee");
            return (Criteria) this;
        }

        public Criteria andOverdueSerFeeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("overdue_ser_fee <=", value, "overdueSerFee");
            return (Criteria) this;
        }

        public Criteria andOverdueSerFeeIn(List<BigDecimal> values) {
            addCriterion("overdue_ser_fee in", values, "overdueSerFee");
            return (Criteria) this;
        }

        public Criteria andOverdueSerFeeNotIn(List<BigDecimal> values) {
            addCriterion("overdue_ser_fee not in", values, "overdueSerFee");
            return (Criteria) this;
        }

        public Criteria andOverdueSerFeeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("overdue_ser_fee between", value1, value2, "overdueSerFee");
            return (Criteria) this;
        }

        public Criteria andOverdueSerFeeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("overdue_ser_fee not between", value1, value2, "overdueSerFee");
            return (Criteria) this;
        }

        public Criteria andOverdueManFeeIsNull() {
            addCriterion("overdue_man_fee is null");
            return (Criteria) this;
        }

        public Criteria andOverdueManFeeIsNotNull() {
            addCriterion("overdue_man_fee is not null");
            return (Criteria) this;
        }

        public Criteria andOverdueManFeeEqualTo(BigDecimal value) {
            addCriterion("overdue_man_fee =", value, "overdueManFee");
            return (Criteria) this;
        }

        public Criteria andOverdueManFeeNotEqualTo(BigDecimal value) {
            addCriterion("overdue_man_fee <>", value, "overdueManFee");
            return (Criteria) this;
        }

        public Criteria andOverdueManFeeGreaterThan(BigDecimal value) {
            addCriterion("overdue_man_fee >", value, "overdueManFee");
            return (Criteria) this;
        }

        public Criteria andOverdueManFeeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("overdue_man_fee >=", value, "overdueManFee");
            return (Criteria) this;
        }

        public Criteria andOverdueManFeeLessThan(BigDecimal value) {
            addCriterion("overdue_man_fee <", value, "overdueManFee");
            return (Criteria) this;
        }

        public Criteria andOverdueManFeeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("overdue_man_fee <=", value, "overdueManFee");
            return (Criteria) this;
        }

        public Criteria andOverdueManFeeIn(List<BigDecimal> values) {
            addCriterion("overdue_man_fee in", values, "overdueManFee");
            return (Criteria) this;
        }

        public Criteria andOverdueManFeeNotIn(List<BigDecimal> values) {
            addCriterion("overdue_man_fee not in", values, "overdueManFee");
            return (Criteria) this;
        }

        public Criteria andOverdueManFeeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("overdue_man_fee between", value1, value2, "overdueManFee");
            return (Criteria) this;
        }

        public Criteria andOverdueManFeeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("overdue_man_fee not between", value1, value2, "overdueManFee");
            return (Criteria) this;
        }

        public Criteria andOverdueFeeIsNull() {
            addCriterion("overdue_fee is null");
            return (Criteria) this;
        }

        public Criteria andOverdueFeeIsNotNull() {
            addCriterion("overdue_fee is not null");
            return (Criteria) this;
        }

        public Criteria andOverdueFeeEqualTo(BigDecimal value) {
            addCriterion("overdue_fee =", value, "overdueFee");
            return (Criteria) this;
        }

        public Criteria andOverdueFeeNotEqualTo(BigDecimal value) {
            addCriterion("overdue_fee <>", value, "overdueFee");
            return (Criteria) this;
        }

        public Criteria andOverdueFeeGreaterThan(BigDecimal value) {
            addCriterion("overdue_fee >", value, "overdueFee");
            return (Criteria) this;
        }

        public Criteria andOverdueFeeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("overdue_fee >=", value, "overdueFee");
            return (Criteria) this;
        }

        public Criteria andOverdueFeeLessThan(BigDecimal value) {
            addCriterion("overdue_fee <", value, "overdueFee");
            return (Criteria) this;
        }

        public Criteria andOverdueFeeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("overdue_fee <=", value, "overdueFee");
            return (Criteria) this;
        }

        public Criteria andOverdueFeeIn(List<BigDecimal> values) {
            addCriterion("overdue_fee in", values, "overdueFee");
            return (Criteria) this;
        }

        public Criteria andOverdueFeeNotIn(List<BigDecimal> values) {
            addCriterion("overdue_fee not in", values, "overdueFee");
            return (Criteria) this;
        }

        public Criteria andOverdueFeeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("overdue_fee between", value1, value2, "overdueFee");
            return (Criteria) this;
        }

        public Criteria andOverdueFeeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("overdue_fee not between", value1, value2, "overdueFee");
            return (Criteria) this;
        }

        public Criteria andRecoverTimeIsNull() {
            addCriterion("recover_time is null");
            return (Criteria) this;
        }

        public Criteria andRecoverTimeIsNotNull() {
            addCriterion("recover_time is not null");
            return (Criteria) this;
        }

        public Criteria andRecoverTimeEqualTo(Long value) {
            addCriterion("recover_time =", value, "recoverTime");
            return (Criteria) this;
        }

        public Criteria andRecoverTimeNotEqualTo(Long value) {
            addCriterion("recover_time <>", value, "recoverTime");
            return (Criteria) this;
        }

        public Criteria andRecoverTimeGreaterThan(Long value) {
            addCriterion("recover_time >", value, "recoverTime");
            return (Criteria) this;
        }

        public Criteria andRecoverTimeGreaterThanOrEqualTo(Long value) {
            addCriterion("recover_time >=", value, "recoverTime");
            return (Criteria) this;
        }

        public Criteria andRecoverTimeLessThan(Long value) {
            addCriterion("recover_time <", value, "recoverTime");
            return (Criteria) this;
        }

        public Criteria andRecoverTimeLessThanOrEqualTo(Long value) {
            addCriterion("recover_time <=", value, "recoverTime");
            return (Criteria) this;
        }

        public Criteria andRecoverTimeIn(List<Long> values) {
            addCriterion("recover_time in", values, "recoverTime");
            return (Criteria) this;
        }

        public Criteria andRecoverTimeNotIn(List<Long> values) {
            addCriterion("recover_time not in", values, "recoverTime");
            return (Criteria) this;
        }

        public Criteria andRecoverTimeBetween(Long value1, Long value2) {
            addCriterion("recover_time between", value1, value2, "recoverTime");
            return (Criteria) this;
        }

        public Criteria andRecoverTimeNotBetween(Long value1, Long value2) {
            addCriterion("recover_time not between", value1, value2, "recoverTime");
            return (Criteria) this;
        }

        public Criteria andOverdueDurationIsNull() {
            addCriterion("overdue_duration is null");
            return (Criteria) this;
        }

        public Criteria andOverdueDurationIsNotNull() {
            addCriterion("overdue_duration is not null");
            return (Criteria) this;
        }

        public Criteria andOverdueDurationEqualTo(String value) {
            addCriterion("overdue_duration =", value, "overdueDuration");
            return (Criteria) this;
        }

        public Criteria andOverdueDurationNotEqualTo(String value) {
            addCriterion("overdue_duration <>", value, "overdueDuration");
            return (Criteria) this;
        }

        public Criteria andOverdueDurationGreaterThan(String value) {
            addCriterion("overdue_duration >", value, "overdueDuration");
            return (Criteria) this;
        }

        public Criteria andOverdueDurationGreaterThanOrEqualTo(String value) {
            addCriterion("overdue_duration >=", value, "overdueDuration");
            return (Criteria) this;
        }

        public Criteria andOverdueDurationLessThan(String value) {
            addCriterion("overdue_duration <", value, "overdueDuration");
            return (Criteria) this;
        }

        public Criteria andOverdueDurationLessThanOrEqualTo(String value) {
            addCriterion("overdue_duration <=", value, "overdueDuration");
            return (Criteria) this;
        }

        public Criteria andOverdueDurationLike(String value) {
            addCriterion("overdue_duration like", value, "overdueDuration");
            return (Criteria) this;
        }

        public Criteria andOverdueDurationNotLike(String value) {
            addCriterion("overdue_duration not like", value, "overdueDuration");
            return (Criteria) this;
        }

        public Criteria andOverdueDurationIn(List<String> values) {
            addCriterion("overdue_duration in", values, "overdueDuration");
            return (Criteria) this;
        }

        public Criteria andOverdueDurationNotIn(List<String> values) {
            addCriterion("overdue_duration not in", values, "overdueDuration");
            return (Criteria) this;
        }

        public Criteria andOverdueDurationBetween(String value1, String value2) {
            addCriterion("overdue_duration between", value1, value2, "overdueDuration");
            return (Criteria) this;
        }

        public Criteria andOverdueDurationNotBetween(String value1, String value2) {
            addCriterion("overdue_duration not between", value1, value2, "overdueDuration");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andVersionIsNull() {
            addCriterion("version is null");
            return (Criteria) this;
        }

        public Criteria andVersionIsNotNull() {
            addCriterion("version is not null");
            return (Criteria) this;
        }

        public Criteria andVersionEqualTo(Integer value) {
            addCriterion("version =", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotEqualTo(Integer value) {
            addCriterion("version <>", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThan(Integer value) {
            addCriterion("version >", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionGreaterThanOrEqualTo(Integer value) {
            addCriterion("version >=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThan(Integer value) {
            addCriterion("version <", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionLessThanOrEqualTo(Integer value) {
            addCriterion("version <=", value, "version");
            return (Criteria) this;
        }

        public Criteria andVersionIn(List<Integer> values) {
            addCriterion("version in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotIn(List<Integer> values) {
            addCriterion("version not in", values, "version");
            return (Criteria) this;
        }

        public Criteria andVersionBetween(Integer value1, Integer value2) {
            addCriterion("version between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andVersionNotBetween(Integer value1, Integer value2) {
            addCriterion("version not between", value1, value2, "version");
            return (Criteria) this;
        }

        public Criteria andIsCallIsNull() {
            addCriterion("is_call is null");
            return (Criteria) this;
        }

        public Criteria andIsCallIsNotNull() {
            addCriterion("is_call is not null");
            return (Criteria) this;
        }

        public Criteria andIsCallEqualTo(Integer value) {
            addCriterion("is_call =", value, "isCall");
            return (Criteria) this;
        }

        public Criteria andIsCallNotEqualTo(Integer value) {
            addCriterion("is_call <>", value, "isCall");
            return (Criteria) this;
        }

        public Criteria andIsCallGreaterThan(Integer value) {
            addCriterion("is_call >", value, "isCall");
            return (Criteria) this;
        }

        public Criteria andIsCallGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_call >=", value, "isCall");
            return (Criteria) this;
        }

        public Criteria andIsCallLessThan(Integer value) {
            addCriterion("is_call <", value, "isCall");
            return (Criteria) this;
        }

        public Criteria andIsCallLessThanOrEqualTo(Integer value) {
            addCriterion("is_call <=", value, "isCall");
            return (Criteria) this;
        }

        public Criteria andIsCallIn(List<Integer> values) {
            addCriterion("is_call in", values, "isCall");
            return (Criteria) this;
        }

        public Criteria andIsCallNotIn(List<Integer> values) {
            addCriterion("is_call not in", values, "isCall");
            return (Criteria) this;
        }

        public Criteria andIsCallBetween(Integer value1, Integer value2) {
            addCriterion("is_call between", value1, value2, "isCall");
            return (Criteria) this;
        }

        public Criteria andIsCallNotBetween(Integer value1, Integer value2) {
            addCriterion("is_call not between", value1, value2, "isCall");
            return (Criteria) this;
        }

        public Criteria andCallUserIsNull() {
            addCriterion("call_user is null");
            return (Criteria) this;
        }

        public Criteria andCallUserIsNotNull() {
            addCriterion("call_user is not null");
            return (Criteria) this;
        }

        public Criteria andCallUserEqualTo(Integer value) {
            addCriterion("call_user =", value, "callUser");
            return (Criteria) this;
        }

        public Criteria andCallUserNotEqualTo(Integer value) {
            addCriterion("call_user <>", value, "callUser");
            return (Criteria) this;
        }

        public Criteria andCallUserGreaterThan(Integer value) {
            addCriterion("call_user >", value, "callUser");
            return (Criteria) this;
        }

        public Criteria andCallUserGreaterThanOrEqualTo(Integer value) {
            addCriterion("call_user >=", value, "callUser");
            return (Criteria) this;
        }

        public Criteria andCallUserLessThan(Integer value) {
            addCriterion("call_user <", value, "callUser");
            return (Criteria) this;
        }

        public Criteria andCallUserLessThanOrEqualTo(Integer value) {
            addCriterion("call_user <=", value, "callUser");
            return (Criteria) this;
        }

        public Criteria andCallUserIn(List<Integer> values) {
            addCriterion("call_user in", values, "callUser");
            return (Criteria) this;
        }

        public Criteria andCallUserNotIn(List<Integer> values) {
            addCriterion("call_user not in", values, "callUser");
            return (Criteria) this;
        }

        public Criteria andCallUserBetween(Integer value1, Integer value2) {
            addCriterion("call_user between", value1, value2, "callUser");
            return (Criteria) this;
        }

        public Criteria andCallUserNotBetween(Integer value1, Integer value2) {
            addCriterion("call_user not between", value1, value2, "callUser");
            return (Criteria) this;
        }

        public Criteria andCallTypeIsNull() {
            addCriterion("call_type is null");
            return (Criteria) this;
        }

        public Criteria andCallTypeIsNotNull() {
            addCriterion("call_type is not null");
            return (Criteria) this;
        }

        public Criteria andCallTypeEqualTo(Integer value) {
            addCriterion("call_type =", value, "callType");
            return (Criteria) this;
        }

        public Criteria andCallTypeNotEqualTo(Integer value) {
            addCriterion("call_type <>", value, "callType");
            return (Criteria) this;
        }

        public Criteria andCallTypeGreaterThan(Integer value) {
            addCriterion("call_type >", value, "callType");
            return (Criteria) this;
        }

        public Criteria andCallTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("call_type >=", value, "callType");
            return (Criteria) this;
        }

        public Criteria andCallTypeLessThan(Integer value) {
            addCriterion("call_type <", value, "callType");
            return (Criteria) this;
        }

        public Criteria andCallTypeLessThanOrEqualTo(Integer value) {
            addCriterion("call_type <=", value, "callType");
            return (Criteria) this;
        }

        public Criteria andCallTypeIn(List<Integer> values) {
            addCriterion("call_type in", values, "callType");
            return (Criteria) this;
        }

        public Criteria andCallTypeNotIn(List<Integer> values) {
            addCriterion("call_type not in", values, "callType");
            return (Criteria) this;
        }

        public Criteria andCallTypeBetween(Integer value1, Integer value2) {
            addCriterion("call_type between", value1, value2, "callType");
            return (Criteria) this;
        }

        public Criteria andCallTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("call_type not between", value1, value2, "callType");
            return (Criteria) this;
        }

        public Criteria andCallMarkIsNull() {
            addCriterion("call_mark is null");
            return (Criteria) this;
        }

        public Criteria andCallMarkIsNotNull() {
            addCriterion("call_mark is not null");
            return (Criteria) this;
        }

        public Criteria andCallMarkEqualTo(Integer value) {
            addCriterion("call_mark =", value, "callMark");
            return (Criteria) this;
        }

        public Criteria andCallMarkNotEqualTo(Integer value) {
            addCriterion("call_mark <>", value, "callMark");
            return (Criteria) this;
        }

        public Criteria andCallMarkGreaterThan(Integer value) {
            addCriterion("call_mark >", value, "callMark");
            return (Criteria) this;
        }

        public Criteria andCallMarkGreaterThanOrEqualTo(Integer value) {
            addCriterion("call_mark >=", value, "callMark");
            return (Criteria) this;
        }

        public Criteria andCallMarkLessThan(Integer value) {
            addCriterion("call_mark <", value, "callMark");
            return (Criteria) this;
        }

        public Criteria andCallMarkLessThanOrEqualTo(Integer value) {
            addCriterion("call_mark <=", value, "callMark");
            return (Criteria) this;
        }

        public Criteria andCallMarkIn(List<Integer> values) {
            addCriterion("call_mark in", values, "callMark");
            return (Criteria) this;
        }

        public Criteria andCallMarkNotIn(List<Integer> values) {
            addCriterion("call_mark not in", values, "callMark");
            return (Criteria) this;
        }

        public Criteria andCallMarkBetween(Integer value1, Integer value2) {
            addCriterion("call_mark between", value1, value2, "callMark");
            return (Criteria) this;
        }

        public Criteria andCallMarkNotBetween(Integer value1, Integer value2) {
            addCriterion("call_mark not between", value1, value2, "callMark");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}